﻿using System;

namespace xEngine.DataTypes
{
    public abstract class QuadTree<TNode, TTree>
        where TNode : QuadTreeNode<TNode, TTree>
        where TTree : QuadTree<TNode, TTree> 
    {
        #region Member Variables
        #endregion

        #region Properties

        public TNode RootNode { get; set; }

        #endregion

        #region Constructors

        public QuadTree()
        {
        }

        #endregion

        #region Functions

        public int FindMaxDepth()
        {
            return RootNode == null ? 0 : RootNode.FindMaxDepth();
        }

        #endregion
    }
}
